package com.ruoyi.integration.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;

@Data
@ApiModel(value = "第三方 DustMonitor 数据调用返回响应封装实体类",description = "")
public class WeatherResponse {

    @ApiModelProperty(value = "返回状态码; 示例: 字符串01")
    private String code;
    @ApiModelProperty(value = "返回消息; 示例: 请求成功")
    private List<String> messages;

    @ApiModelProperty(value = "返回数据")
    private Result result;

    @Data
    @ApiModel(value = "第三方 DustMonitor 数据调用返回响应数据具体信息",description = "")
    public static class Result {

        @ApiModelProperty(value = "机构名称; 示例: 中国矿业大学")
        private String companyName;
        @ApiModelProperty(value = "数据项列表")
        private List<DataValue> dataValues;
        @ApiModelProperty(value = "设备编号; 示例: DB632091931E0D3700")
        private String deviceId;
        @ApiModelProperty(value = "设备经度; 示例: 39.7619966")
        private String deviceLatitude;
        @ApiModelProperty(value = "设备纬度; 示例: 111.26939633761702")
        private String deviceLongitude;
        @ApiModelProperty(value = "设备名称; 示例: 气象与粉尘在线 监测仪1号")
        private String deviceName;
        @ApiModelProperty(value = "设备点X; 示例: MTExLjI1ODY2MDczMjAzNDU=")
        private String devicePointx;
        @ApiModelProperty(value = "设备点Y; 示例: MzkuNzY5MzYyMzgzNDQwNDE2")
        private String devicePointy;
        @ApiModelProperty(value = "设备SN; 示例: DB632091931E0D3700")
        private String deviceSN;
    }

    @Data
    @ApiModel(value = "第三方 DustMonitor 数据调用返回响应数据具体信息",description = "")
    public static class DataValue {

        @ApiModelProperty(value = "数据项编号; 示例: AAA1")
        private String channelId;
        @ApiModelProperty(value = "数据项值(规范化表示); 示例: 12.500")
        private String formatValue;
        @ApiModelProperty(value = "数据项值(原始值); 示例: 12.5")
        private String value;
        @ApiModelProperty(value = "数据项时间; 示例: 2025-10-28 19:41:49")
        private String varDate;
        @ApiModelProperty(value = "数据项编号; 示例: V20240708061233")
        private String varId;
        @ApiModelProperty(value = "数据项名称; 示例:  空气温度_°C")
        private String varName;
        @ApiModelProperty(value = "数据项单位; 示例: °C")
        private String varUnit;
    }
}